package com.whfc.hdc.dao;

import com.whfc.hdc.dto.AlgDeviceStreamConfigDTO;
import com.whfc.hdc.entity.AlgStreamConfig;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author qzexing
 * @version 1.0
 * @date 2021-08-02 15:14
 */
@Repository
public interface AlgStreamConfigMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(AlgStreamConfig record);

    int insertSelective(AlgStreamConfig record);

    AlgStreamConfig selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(AlgStreamConfig record);

    int updateByPrimaryKey(AlgStreamConfig record);

    /**
     * 根据视频流ID查找视频流算法配置
     *
     * @param streamId 视频流ID
     * @return 视频流算法配置
     */
    List<AlgDeviceStreamConfigDTO> selectByStreamId(@Param("streamId") Integer streamId);

    /**
     * 根据视频流ID和算法类型查找视频流算法配置
     *
     * @param streamId 视频流ID
     * @param algType  算法类型
     * @return 视频流算法配置
     */
    AlgStreamConfig selectByStreamIdAndAlgType(@Param("streamId") Integer streamId, @Param("algType") Integer algType);

    /**
     * 逻辑删除
     *
     * @param id 视频流算法配置ID
     */
    void logicDel(Integer id);
}